
/**
* Ver      变更日期             负责人         变更内容
* ───────────────────────────────────────────────────────────────
* V3.00   2024-07-10 21:15     zhuqy           初版
* ───────────────────────────────────────────────────────────────
*
* Copyright (c) 2024 Maticsoft Corporation. All rights reserved.
* ┌───────────────────────────────────────────────────────────────
* │　此技术信息为本公司机密信息，未经本公司书面同意禁止向第三方披露
* │　版权所有： 青岛弘智信息科技有限公司
* └───────────────────────────────────────────────────────────────
**/
package com.lxsh.cer.domain.cer.processImpro;
import com.alibaba.excel.annotation.ExcelProperty;
import com.hhlt.common.constants.CommonConstants;
import com.hhlt.core.annotation.ColumnAttribute;
import com.hhlt.core.annotation.EntityAttribute;
import com.hhlt.web.core.model.BaseWebDomain;
import com.hhlt.core.validate.group.ValidateAddGroup;
import com.hhlt.core.validate.group.ValidateUpdateGroup;
import com.hhlt.core.validate.group.ValidatePrimaryKeyOperateGroup;
import com.hhlt.file.excel.convert.Timestamp2StringFormatDefaultConverter;
import java.io.Serializable;
import java.sql.Timestamp;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
/**
* 工艺改善减碳Domain
*/
@Getter
@Setter
@EqualsAndHashCode(callSuper = true)
@EntityAttribute(tableCode = "T_CER_PROCESS_IMPRO")
public class CerProcessImpro extends BaseWebDomain implements Serializable {
private static final long serialVersionUID = 8761755637194229141L;
//region 代码自动生成工具生成 start
  /**
   * id:主键ID
   */
  @ColumnAttribute(message = "主键ID",name="ID")
  private Long id;
  /**
   * factoryCode:线体编码
   */
  @NotNull(message = "线体编码不能为空", groups = {ValidateAddGroup.class, ValidateUpdateGroup.class})
  @ExcelProperty(value = "线体编码")
  @Size(min = 0, max = 32, message = "请输入1-32位线体编码", groups = {ValidateAddGroup.class, ValidateUpdateGroup.class})
  @ColumnAttribute(message = "线体编码",name="FACTORY_CODE")
  private String factoryCode;
  /**
   * workProcedureCode:班组编码
   */
  @NotNull(message = "班组编码不能为空", groups = {ValidateAddGroup.class, ValidateUpdateGroup.class})
  @ExcelProperty(value = "班组编码")
  @Size(min = 0, max = 32, message = "请输入1-32位班组编码", groups = {ValidateAddGroup.class, ValidateUpdateGroup.class})
  @ColumnAttribute(message = "班组编码",name="WORK_PROCEDURE_CODE")
  private String workProcedureCode;
  /**
   * improType:改善类别
   */
  @NotNull(message = "改善类别不能为空", groups = {ValidateAddGroup.class, ValidateUpdateGroup.class})
  @ExcelProperty(value = "改善类别")
  @Size(min = 0, max = 10, message = "请输入1-10位改善类别", groups = {ValidateAddGroup.class, ValidateUpdateGroup.class})
  @ColumnAttribute(message = "改善类别",name="IMPRO_TYPE")
  private String improType;
  /**
   * improTitle:工艺改善标题
   */
  @NotNull(message = "工艺改善标题不能为空", groups = {ValidateAddGroup.class, ValidateUpdateGroup.class})
  @ExcelProperty(value = "工艺改善标题")
  @Size(min = 0, max = 32, message = "请输入1-32位工艺改善标题", groups = {ValidateAddGroup.class, ValidateUpdateGroup.class})
  @ColumnAttribute(message = "工艺改善标题",name="IMPRO_TITLE")
  private String improTitle;
  /**
   * isImpro:本次改善是否利于减碳
   */
  @NotNull(message = "本次改善是否利于减碳不能为空", groups = {ValidateAddGroup.class, ValidateUpdateGroup.class})
  @ExcelProperty(value = "本次改善是否利于减碳")
  @ColumnAttribute(message = "本次改善是否利于减碳",name="IS_IMPRO")
  private Integer isImpro;
  /**
   * otherAdvice:其它改善建议
   */
  @NotNull(message = "其它改善建议不能为空", groups = {ValidateAddGroup.class, ValidateUpdateGroup.class})
  @ExcelProperty(value = "其它改善建议")
  @Size(min = 0, max = 200, message = "请输入1-200位其它改善建议", groups = {ValidateAddGroup.class, ValidateUpdateGroup.class})
  @ColumnAttribute(message = "其它改善建议",name="OTHER_ADVICE")
  private String otherAdvice;
  /**
   * cartonType:类型(1工艺，2生产）
   */
  @NotNull(message = "类型不能为空", groups = {ValidateAddGroup.class, ValidateUpdateGroup.class})
  @ExcelProperty(value = "类型")
  @ColumnAttribute(message = "类型",name="CARTON_TYPE")
  private Integer cartonType;
  /**
   * cartonInfo:减碳明细
   */
  @NotNull(message = "减碳明细不能为空", groups = {ValidateAddGroup.class, ValidateUpdateGroup.class})
  @ExcelProperty(value = "减碳明细")
  @Size(min = 0, max = 200, message = "请输入1-200位减碳明细", groups = {ValidateAddGroup.class, ValidateUpdateGroup.class})
  @ColumnAttribute(message = "减碳明细",name="CARTON_INFO")
  private String cartonInfo;
  /**
   * addUser:添加者
   */
  @Size(min = 0, max = 32, message = "请输入1-32位添加者", groups = {ValidateAddGroup.class, ValidateUpdateGroup.class})
  @ColumnAttribute(message = "添加者",name="ADD_USER")
  private String addUser;
  /**
   * addUserName:添加者名
   */
  @ExcelProperty(value = "添加者名")
  @Size(min = 0, max = 100, message = "请输入1-100位添加者名", groups = {ValidateAddGroup.class, ValidateUpdateGroup.class})
  @ColumnAttribute(message = "添加者名",name="ADD_USER_NAME")
  private String addUserName;
  /**
   * addDate:添加时间
   */
  @ExcelProperty(value = "添加时间", converter = Timestamp2StringFormatDefaultConverter.class)
  @ColumnAttribute(message = "添加时间",name="ADD_DATE")
  private Timestamp addDate;
  /**
   * updateUser:更新者
   */
  @Size(min = 0, max = 32, message = "请输入1-32位更新者", groups = {ValidateAddGroup.class, ValidateUpdateGroup.class})
  @ColumnAttribute(message = "更新者",name="UPDATE_USER")
  private String updateUser;
  /**
   * updateUserName:更新者名
   */
  @Size(min = 0, max = 100, message = "请输入1-100位更新者名", groups = {ValidateAddGroup.class, ValidateUpdateGroup.class})
  @ColumnAttribute(message = "更新者名",name="UPDATE_USER_NAME")
  private String updateUserName;
  /**
   * updateDate:更新时间
   */
  @ColumnAttribute(message = "更新时间",name="UPDATE_DATE")
  private Timestamp updateDate;
  /**
   * deleteFlag:删除标识
   */
  private Integer deleteFlag = CommonConstants.DEL_FLAG_0;
  //endregion 代码自动生成工具生成 end
}
